package com.login_php.service;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.collections.CollectionUtils;

import com.login_php.actions.BaseServiceAction;
import com.login_php.domain.commons.TipoUsuario;
import com.login_php.domain.tipo_usuario.TipoUsuarioJson;
import com.login_php.services.TipoUsuarioService;

public class GetTiposUsuarioService extends BaseServiceAction {

	private static final long serialVersionUID = -175598009483814721L;

	private List<TipoUsuarioJson> tiposUsuario;
	
	@Override
	public String doExecute() {
		
		setTiposUsuario(parseToJsonType(TipoUsuarioService.getAll()));
		
		return SUCCESS;
	}
	
	private List<TipoUsuarioJson> parseToJsonType(List<TipoUsuario> tipos){
		if(CollectionUtils.isEmpty(tipos)){return null;}
		
		List<TipoUsuarioJson> retorno = new ArrayList<TipoUsuarioJson>();
		
		for(TipoUsuario tipo : tipos){
			retorno.add(new TipoUsuarioJson(tipo));
		}
		
		return retorno;
	}

	public List<TipoUsuarioJson> getTiposUsuario() {
		return tiposUsuario;
	}

	public void setTiposUsuario(List<TipoUsuarioJson> tiposUsuario) {
		this.tiposUsuario = tiposUsuario;
	}
}
